package dp2.tablet.proyecto.util;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONException;

import android.os.AsyncTask;
import android.util.Log;

public class JSONVenta extends AsyncTask<String, Void, String>{
	 
		InputStream is = null;
		String result = "";
		JSONArray jArray = null;
		JSONVentaListener listener;
	 
	    // constructor
	    public JSONVenta() {
	 
	    }
	    
	    public void setJSONVentaListener(JSONVentaListener listener){
	    	this.listener = listener;
	    }
	    
	    @Override
	    protected void onPreExecute() {
	    	listener.onConnected();
	    }
	 
	    @Override
	    protected String doInBackground(String... url) {
		//protected JSONArray doInBackground(String... url) {
			// Making HTTP request
	        try {
	            // defaultHttpClient
	            DefaultHttpClient httpClient = new DefaultHttpClient();
	            HttpPost httpPost = new HttpPost(url[0]);
	            HttpResponse httpResponse = httpClient.execute(httpPost);
	            HttpEntity httpEntity = httpResponse.getEntity();
	            is = httpEntity.getContent();           
	 
	        } catch (UnsupportedEncodingException e) {
	            e.printStackTrace();
	        } catch (ClientProtocolException e) {
	            e.printStackTrace();
	        } catch (IOException e) {
	            e.printStackTrace();
	       // } catch (JSONException e) {
			//	e.printStackTrace();
			}
	 
	        try {
	            BufferedReader reader = new BufferedReader(new InputStreamReader(
	                    is, "iso-8859-1"), 8);
	            StringBuilder sb = new StringBuilder();
	            String line = null;
	            while ((line = reader.readLine()) != null) {
	                sb.append(line + "\n");
	            }
	            is.close();
	            result = sb.toString();
	        } catch (Exception e) {
	            Log.e("Buffer Error", "Error converting result " + e.toString());
	        }
	 
	        // try parse the string to a JSON object
	       // try {
	        //	jArray = new JSONArray(result);
	       // } catch (JSONException e) {
	          //  Log.e("JSON Parser", "Error parsing data " + e.toString());
	  //      }
	 //
	        // return JSON String
	        return result;
		}
	    
	    //@Override
	    protected void onProgressUpdate(Integer... values) {
	    	switch(values[0]){
	    		case 1:
	    		break;
	    		case 2:
	    			listener.onSent();
	    		break;
	    		
	    	}
	    }
	    
	   @Override
	    protected void onPostExecute(String result) {
	    	listener.onFinished(jArray);
	    }    
	    
	    
	    
	}